using System;
using Microsoft.Xna.Framework;

namespace HumanElement.Xna.Content.Effects
{
    public interface ISurfaceEffectServices
    {
    }

    public class SurfaceEffectServices : IGameService<ISurfaceEffect>
    {
        #region IGameService<ISurfaceEffect> Members

        /// <summary>
        /// Initializes the specified engine.
        /// </summary>
        public void Initialize()
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Updates the specified game time.
        /// </summary>
        /// <param name="gameTime">The game time.</param>
        public void Update(GameTime gameTime)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Gets the name.
        /// </summary>
        /// <value>The name.</value>
        public string Name { get; set; }

        /// <summary>
        /// Gets the supported entity.
        /// </summary>
        /// <returns></returns>
        public Type GetSupportedEntity()
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Gets the current TEntity for the Game Service.
        /// </summary>
        /// <value>The current entity.</value>
        public ISurfaceEffect Current { get; private set; }

        /// <summary>
        /// Gets the specified key.
        /// </summary>
        /// <typeparam name="TKey">The type of the key.</typeparam>
        /// <param name="key">The key.</param>
        /// <returns></returns>
        public ISurfaceEffect Get<TKey>(TKey key)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}